using System;
using System.Net.Http;
using System.Threading.Tasks;


/* 某业务子系统 */

public class WXApi
{
    public static string GET_USERS = "https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID;
    public static string GET_CUSTOM_MENUS = "https://api.weixin.qq.com/cgi-bin/menu/get?access_token=ACCESS_TOKEN";
}


public class WeiXinNetApi
{
    // 获取用户列表
    public async List<object> GetUsers()
    {
        var url = WXApi.GET_USERS;
        using (HttpClient client = new HttpClient())
        {
            var result = await client.GetAsync(url);
            return result;
        }
    }

    // 获取用户自定义菜单
    public async List<object> GetCustomMenus()
    {
        var url = WXApi.GET_CUSTOM_MENUS;
        using (HttpClient client = new HttpClient())
        {
            var result = await client.GetAsync(url);
            return result;
        }
    }

    // ...
}

// 消费者
public class Program
{
    public static void Main()
    {
        var wx = new WeiXinNetApi();
        var users = wx.GetUsers();
        var menus = wx.GetCustomMenus();

        Console.WriteLine(users);
        Console.WriteLine(menus);

        Console.ReadKey();
    }
}